Method, system, and graphical user interface for providing word recommendations

ABSTRACT

One aspect of the invention involves a method that includes: in a first area of the touch screen, displaying a current character string being input by a user with the keyboard; in a second area of the touch screen, displaying the current character string or a portion thereof and a suggested replacement for the current character string; replacing the current character string in the first area with the suggested replacement if the user activates a delimiter key on the keyboard; replacing the current character string in the first area with the suggested replacement if the user performs a first gesture on the suggested replacement displayed in the second area; and keeping the current character string in the first area if the user performs a second gesture on the current character string or the portion thereof displayed in the second area.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/003,773, filed Jan. 21, 2016, which is a continuation of U.S. patentapplication Ser. No. 13/310,586, filed Dec. 2, 2011, now U.S. Pat. No.9,244,536, which is a continuation of U.S. patent application Ser. No.11/620,642, filed Jan. 5, 2007, now U.S. Pat. No. 8,074,172, the entirecontents of which are incorporated herein by reference.

This application is related to U.S. patent application Ser. No.11/620,641, filed Jan. 5, 2007, now U.S. Pat. No. 7,957,955, entitled“Method and System for Providing Word Recommendations for Text Input,”and U.S. patent application Ser. No. 13/310,592, filed Dec. 2, 2011, nowU.S. Pat. No. 9,189,079, entitled “Method, System, and Graphical UserInterface for Providing Word Recommendations,” the entire contents ofwhich are incorporated herein by reference.

TECHNICAL FIELD

The disclosed embodiments relate generally to text input on portableelectronic devices, and more particularly, to a method, system, andgraphical user interface for providing word recommendations on aportable electronic device.

BACKGROUND

In recent years, the functional capabilities of portable electronicdevices have increased dramatically. Current devices enablecommunication by voice, text, and still or moving images. Communicationby text, such as by email or short message service (SMS), has proven tobe quite popular.

However, the size of these portable communication devices also restrictsthe size of the text input device, such as a physical or virtualkeyboard, in the portable device. With a size-restricted keyboard,designers are often forced to make the keys smaller or overload thekeys. Both may lead to typing mistakes and thus more backtracking tocorrect the mistakes. This makes the process of inputting text on thedevices inefficient and reduces user satisfaction with such portabledevices.

Accordingly, there is a need for more efficient ways of entering textinto portable devices.

SUMMARY

The above deficiencies and other problems associated with userinterfaces for portable devices are reduced or eliminated by thedisclosed device that includes a text input interface that provides wordrecommendations.

According to some embodiments, a computer-implemented method may beperformed at a portable electronic device with a keyboard and a touchscreen display. The method includes: in a first area of the touch screendisplay, displaying a current character string being input by a userwith the keyboard; in a second area of the touch screen display,displaying the current character string or a portion thereof and asuggested replacement character string for the current character string;replacing the current character string in the first area with thesuggested replacement character string if the user activates a key onthe keyboard associated with a delimiter; replacing the currentcharacter string in the first area with the suggested replacementcharacter string if the user performs a first gesture on the suggestedreplacement character string displayed in the second area; and keepingthe current character string in the first area if the user performs asecond gesture on the current character string or the portion thereofdisplayed in the second area.

According to some embodiments, a graphical user interface on a portableelectronic device with a keyboard and a touch screen display includes afirst area of the touch screen display that displays a current characterstring being input by a user with the keyboard, and a second area of thetouch screen display that displays the current character string or aportion thereof and a suggested replacement character string for thecurrent character string. The current character string in the first areais replaced with the suggested replacement character string if the useractivates a key on the keyboard associated with a delimiter. The currentcharacter string in the first area is replaced with the suggestedreplacement character string if the user performs a gesture on thesuggested replacement character string in the second area. The currentcharacter string in the first area is kept if the user performs agesture on the current character string or the portion thereof displayedin the second area.

According to some embodiments, a portable electronic device includes atouch screen display, one or more processors, memory, and a program. Theprogram is stored in the memory and configured to be executed by the oneor more processors. The program includes: instructions for displaying,in a first area of the touch screen display, a current character stringbeing input by a user with the keyboard; instructions for displaying, ina second area of the touch screen display, the current character stringand a suggested replacement character string for the current characterstring; instructions for replacing the current character string in thefirst area with the suggested replacement character string if the useractivates a key on the keyboard associated with a delimiter;instructions for replacing the current character string in the firstarea with the suggested replacement character string if the userperforms a first gesture on the suggested replacement character stringdisplayed in the second area; and instructions for keeping the currentcharacter string in the first area if the user performs a second gestureon the current character string or the portion thereof displayed in thesecond area.

According to some embodiments, a computer-program product includes acomputer readable storage medium and a computer program mechanismembedded therein. The computer program mechanism includes instructions,which when executed by a portable electronic device with a touch screendisplay, cause the device to: in a first area of the touch screendisplay, display a current character string being input by a user withthe keyboard; in a second area of the touch screen display, display thecurrent character string or a portion thereof and a suggestedreplacement character string for the current character string; replacethe current character string in the first area with the suggestedreplacement character string if the user activates a key on the keyboardassociated with a delimiter; replace the current character string in thefirst area with the suggested replacement character string if the userperforms a first gesture on the suggested replacement character stringdisplayed in the second area; and keep the current character string inthe first area if the user performs a second gesture on the currentcharacter string or the portion thereof displayed in the second area.

According to some embodiments, a portable electronic device with a touchscreen display includes: means for displaying a current character stringbeing input by a user with the keyboard in a first area of the touchscreen display; means for displaying the current character string or aportion thereof and a suggested replacement character string for thecurrent character string in a second area of the touch screen display;means for replacing the current character string in the first area withthe suggested replacement character string if the user activates a keyon the keyboard associated with a delimiter; means for replacing thecurrent character string in the first area with the suggestedreplacement character string if the user performs a first gesture on thesuggested replacement character string displayed in the second area; andmeans for keeping the current character string in the first area if theuser performs a second gesture on the current character string or theportion thereof displayed in the second area.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the aforementioned embodiments of theinvention as well as additional embodiments thereof, reference should bemade to the Description of Embodiments below, in conjunction with thefollowing drawings in which like reference numerals refer tocorresponding parts throughout the figures.

FIG. 1 is a block diagram illustrating a portable electronic device inaccordance with some embodiments.

FIG. 2 illustrates a portable electronic device having a touch screenand a soft keyboard in accordance with some embodiments.

FIG. 3 is a flow diagram illustrating a process for providing wordrecommendations in accordance with some embodiments.

FIGS. 4A-4I illustrate a user interface for providing wordrecommendations in accordance with some embodiments.

FIGS. 5A-5B illustrate a user interface for showing originally enteredtext in accordance with some embodiments.

DESCRIPTION OF EMBODIMENTS

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings. In the following detaileddescription, numerous specific details are set forth in order to providea thorough understanding of the present invention. However, it will beapparent to one of ordinary skill in the art that the present inventionmay be practiced without these specific details. In other instances,well-known methods, procedures, components, circuits, and networks havenot been described in detail so as not to unnecessarily obscure aspectsof the embodiments.

Embodiments of user interfaces and associated processes for using aportable electronic device are described. In some embodiments, thedevice is a portable communications device such as a mobile telephone.The user interface may include a click wheel in addition to a touchscreen. A click wheel is a physical user-interface device that mayprovide navigation commands based on an angular displacement of thewheel or a point of contact with the wheel by a user of the device. Aclick wheel may also be used to provide a user command corresponding toselection of one or more items, for example, when the user of the devicepresses down on at least a portion of the wheel or the center of thewheel. For simplicity, in the discussion that follows, a portableelectronic device (e.g., a cellular telephone that may also containother functions, such as text messaging, PDA and/or music playerfunctions) that includes a touch screen is used as an exemplaryembodiment. It should be understood, however, that the user interfacesand associated processes may be applied to other devices, such aspersonal digital assistants (PDA's), personal computers and laptops,which may include one or more other physical user-interface devices,such as a click wheel, a keyboard, a mouse and/or a joystick.

The device may support a variety of applications, such as one or moretelephone applications, a text messaging application, a word processingapplication, an email application, a web browsing application, and amusic player. The music player may be compatible with one or more fileformats, such as MP3 and/or AAC. In an exemplary embodiment, the deviceincludes an iPod music player (iPod trademark of Apple Computer, Inc.).

The various applications that may be executed on the device may use atleast one common physical user-interface device, such as the touchscreen. In embodiments that include a touch screen, one or morefunctions of the touch screen as well as corresponding informationdisplayed on the device may be adjusted and/or varied from oneapplication to the next and/or within a respective application. In thisway, a common physical architecture (such as the touch screen) of thedevice may support the variety of applications with user interfaces thatare intuitive and transparent to a user.

The user interfaces may include one or more keyboard embodimentsdisplayed on a touch screen. The keyboard embodiments may includestandard (QWERTY) and/or non-standard configurations of symbols on thedisplayed icons of the keyboard. The keyboard embodiments may include areduced number of icons (or soft keys) relative to the number of keys inexisting physical keyboards, such as that for a typewriter. This maymake it easier for users to select one or more icons in the keyboard,and thus, one or more corresponding symbols. The keyboard embodimentsmay be adaptive. For example, displayed icons may be modified inaccordance with user actions, such as selecting one or more icons and/orone or more corresponding symbols. One or more applications on theportable device may utilize common and/or different keyboardembodiments. Thus, the keyboard embodiment used may be tailored to atleast some of the applications. In some embodiments, one or morekeyboard embodiments may be tailored to a respective user. For example,based on a word usage history (lexicography, slang, individual usage) ofthe respective user. Some of the keyboard embodiments may be adjusted toreduce a probability of a user error when selecting one or more icons,and thus one or more symbols, when using the keyboard embodiments.

Attention is now directed to an embodiment of a portable communicationsdevice. FIG. 1 is a block diagram illustrating an embodiment of a device100, such as a portable electronic device having a touch-sensitivedisplay 112. The touch-sensitive display 112 is sometimes called a“touch screen” for convenience. The device 100 may include a memorycontroller 120, one or more data processors, image processors and/orcentral processing units 118 and a peripherals interface 116. The memorycontroller 120, the one or more processors 118 and/or the peripheralsinterface 116 may be separate components or may be integrated, such asin one or more integrated circuits 104. The various components in thedevice 100 may be coupled by one or more communication buses or signallines 103.

If the device 110 includes picture taking capabilities, the peripheralsinterface 116 may be coupled to an optical sensor 148, such as a CMOS orCCD image sensor. The peripherals interface 116 is also coupled to RFcircuitry 108; audio circuitry 110; and/or an input/output (I/O)subsystem 106. The audio circuitry 110 may be coupled to a speaker 142and a micro-phone 144. The device 100 may support voice recognitionand/or voice replication. The RF circuitry 108 may be coupled to one ormore antennas 146 and may allow communication with one or moreadditional devices, computers and/or servers using a wireless network.The device 100 may support a variety of communications protocols,including code division multiple access (CDMA), Global System for MobileCommunications (GSM), Enhanced Data GSM Environment (EDGE), Wi-Fi (suchas IEEE 802.11a, IEEE 802.11b, IEEE 802.11g and/or IEEE 802.11n),Bluetooth, Wi-MAX, a protocol for email, instant messaging, and/or ashort message service (SMS), or any other suitable communicationprotocol, including communication protocols not yet developed as of thefiling date of this document. In an exemplary embodiment, the device 100may be, at least in part, a mobile phone (e.g., a cellular telephone).

The I/O subsystem 106 may include a touch screen controller 132 and/orother input controller(s) 134. The touch-screen controller 132 iscoupled to a touch-sensitive screen or touch sensitive display system112. The touch screen 112 and touch screen controller 132 may detectcontact and any movement or break thereof using any of a plurality oftouch sensitivity technologies now known or later developed, includingbut not limited to capacitive, resistive, infrared, and surface acousticwave technologies, as well as other proximity sensor arrays or otherelements for determining one or more points of contact with thetouch-sensitive screen 112. A touch-sensitive display in someembodiments of the display system 112 may be analogous to themulti-touch sensitive tablets described in the following U.S. Pat. No.6,323,846 (Westerman et al.), U.S. Pat. No. 6,570,557 (Westerman etal.), and/or U.S. Pat. No. 6,677,932 (Westerman), and/or U.S. PatentPublication 2002/0015024A1, each of which is hereby incorporated byreference. However, a touch screen in the display system 112 displaysvisual output from the portable device 100, whereas touch sensitivetablets do not provide visual output. The touch-sensitive screen 112 mayhave a resolution in excess of 100 dpi. In an exemplary embodiment, thetouch-sensitive screen 112 has a resolution of approximately 168 dpi.The other input controller(s) 134 may be coupled to other input/controldevices 114, such as one or more buttons. In some alternate embodiments,input controller(s) 134 may be coupled to any (or none) of thefollowing: a keyboard, infrared port, USB port, and/or a pointer devicesuch as a mouse. The one or more buttons (not shown) may include anup/down button for volume control of the speaker 142 and/or themicrophone 144. The one or more buttons (not shown) may include a pushbutton. A quick press of the push button (not shown) may disengage alock of the touch screen 112. A longer press of the push button (notshown) may turn power to the device 100 on or off. The user may be ableto customize a functionality of one or more of the buttons. The touchscreen 112 may be used to implement virtual or soft buttons and/or oneor more keyboards.

A touch-sensitive display in some embodiments of the display system 112may be as described in the following applications: (1) U.S. patentapplication Ser. No. 11/381,313, “Multipoint Touch Surface Controller,”filed on May 2, 2006; (2) U.S. patent application Ser. No. 10/840,862,“Multipoint Touchscreen,” filed on May 6, 2004; (3) U.S. patentapplication Ser. No. 10/903,964, “Gestures For Touch Sensitive InputDevices,” filed on Jul. 30, 2004; (4) U.S. patent application Ser. No.11/048,264, “Gestures For Touch Sensitive Input Devices,” filed on Jan.31, 2005; (5) U.S. patent application Ser. No. 11/038,590, “Mode-BasedGraphical User Interfaces For Touch Sensitive Input Devices,” filed onJan. 18, 2005; (6) U.S. patent application Ser. No. 11/228,758, “VirtualInput Device Placement On A Touch Screen User Interface,” filed on Sep.16, 2005; (7) U.S. patent application Ser. No. 11/228,700, “Operation OfA Computer With A Touch Screen Interface,” filed on Sep. 16, 2005; (8)U.S. patent application Ser. No. 11/228,737, “Activating Virtual Keys OfA Touch-Screen Virtual Keyboard,” filed on Sep. 16, 2005; and (9) U.S.patent application Ser. No. 11/367,749, “Multi-Functional Hand-HeldDevice,” filed on Mar. 3, 2006. All of these applications areincorporated by reference herein.

In some embodiments, the device 100 may include circuitry for supportinga location determining capability, such as that provided by the GlobalPositioning System (GPS). In some embodiments, the device 100 may beused to play back recorded music, such as one or more files, such as MP3files or AAC files. In some embodiments, the device 100 may include thefunctionality of an MP3 player, such as an iPod (trademark of AppleComputer, Inc.). In some embodiments, the device 100 may include amulti-pin (e.g., 30-pin) connector that is compatible with the iPod.

The device 100 also includes a power system 137 for powering the variouscomponents. The power system 137 may include a power management system,one or more power sources (e.g., battery, alternating current (AC)), arecharging system, a power failure detection circuit, a power converteror inverter, a power status indicator (e.g., a light-emitting diode(LED)) and any other components associated with the generation,management and distribution of power in portable devices. The device 100may also include one or more external ports 135 for connecting thedevice 100 to other devices.

The memory controller 120 may be coupled to memory 102, which mayinclude one or more types of computer readable medium. Memory 102 mayinclude high-speed random access memory and/or non-volatile memory, suchas one or more magnetic disk storage devices, one or more opticalstorage devices, and/or flash memory. Memory 102 may store an operatingsystem 122, such as Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or anembedded operating system such as VxWorks. The operating system 122 mayinclude procedures (or sets of instructions) for handling basic systemservices and for performing hardware dependent tasks. Memory 102 mayalso store communication procedures (or sets of instructions) in acommunication module 124. The communication procedures may be used forcommunicating with one or more additional devices, one or more computersand/or one or more servers. The memory 102 may include a display module(or a set of instructions) 125, a contact/motion module (or a set ofinstructions) 126 to determine one or more points of contact and/ortheir movement, and a graphics module (or a set of instructions) 128.The graphics module 128 may support widgets, that is, modules orapplications with embedded graphics. The widgets may be implementedusing JavaScript, HTML, Adobe Flash, or other suitable computer programlanguages and technologies.

The memory 102 may also include one or more applications 130. Examplesof applications that may be stored in memory 102 include telephoneapplications, email applications, text messaging or instant messagingapplications, memo pad applications, address books or contact lists,calendars, picture taking and management applications, and music playingand management applications. The applications 130 may include a webbrowser (not shown) for rendering pages written in the Hypertext MarkupLanguage (HTML), Wireless Markup Language (WML), or other languagessuitable for composing web pages or other online content.

Also included in the memory 102 are a keyboard module (or a set ofinstructions) 131, a word recommendations module (or a set ofinstructions) 133, and a dictionary 136. The keyboard module 131operates one or more soft keyboards. The word recommendations module 133determines word completion or replacement recommendations for textentered by the user. The dictionary 136 includes a list of words in alanguage, from which word recommendations are drawn. In someembodiments, the dictionary also includes usage frequency rankingsassociated with the words in the dictionary.

Each of the above identified modules and applications correspond to aset of instructions for performing one or more functions describedabove. These modules (i.e., sets of instructions) need not beimplemented as separate software programs, procedures or modules. Thevarious modules and sub-modules may be rearranged and/or combined.Memory 102 may include additional modules and/or sub-modules, or fewermodules and/or sub-modules. Memory 102, therefore, may include a subsetor a superset of the above identified modules and/or sub-modules.Various functions of the device 100 may be implemented in hardwareand/or in software, including in one or more signal processing and/orapplication specific integrated circuits.

Attention is now directed towards embodiments of user interfaces andassociated processes that may be implemented on the device 100. FIG. 2is a schematic diagram illustrating an embodiment of a user interfacefor a portable electronic device 200. The device 200 includes a touchscreen 208. In some embodiments, the touch screen may display one ormore trays. A tray is a defined region or area within a graphical userinterface. One tray may include a user entry interface, such as avirtual or soft keyboard 210 that includes a plurality of icons. Theicons may include one or more symbols. In this embodiment, as well asothers described below, a user may select one or more of the icons, andthus, one or more of the corresponding symbols, by making contact ortouching the keyboard 210, for example, with one or more fingers 212(not drawn to scale in the figure). The contact may correspond to theone or more icons. In some embodiments, selection of one or more iconsoccurs when the user breaks contact with the one or more icons. In someembodiments, the contact may include a gesture, such as one or moretaps, one or more swipes (e.g., from left to right, right to left,upward and/or downward) and/or a rolling of a finger (e.g., from rightto left, left to right, upward and/or downward) that has made contactwith the device 200. In some embodiments, inadvertent contact with anicon may not select a corresponding symbol. For example, a swipe gesturethat sweeps over an icon may not select a corresponding symbol if thegesture corresponding to selection is a tap gesture.

Alternatively, in some other embodiments, the keyboard may be a physicalkeyboard that includes a set of push buttons, a keypad, or the like. Thephysical keyboard is not a part of the touch screen display. Thephysical keyboard includes keys that correspond to the plurality oficons described above. A user may select one or more of the icons bypushing the corresponding keys on the physical keyboard.

The device 200 may include a display tray 214, which is displayed on thetouch screen 208. The display tray 214 may display one or more of thecharacters and/or symbols that are selected by the user. The device 200may also include one or more physical buttons, such as the clear, holdand menu buttons shown in FIG. 2. The menu button may be used tonavigate to any application in a set of applications that may beexecuted on the device 200. Alternatively, in some embodiments, theclear, hold, and/or menu buttons are implemented as soft keys in a GUIin touch screen 208.

Attention is now directed to FIG. 3, which illustrates a flow diagram ofa process flow 300 for providing word recommendations in accordance withsome embodiments. As text is entered by a user on a device, one or morecandidate character sequences (suggested replacements) may be providedin response to the entered text. The user may select a candidatecharacter sequence to further extend or to complete the entered text.

A current character string is displayed in a first area of a touchscreen of a portable device (302). In some embodiments, the currentcharacter string (which is a word, number, symbol, or a combinationthereof) is at least a portion of a sequence of characters entered intothe device by a user. The user inputs a sequence of characters into theportable device via an input device, such as a keyboard 210, and thedevice receives and displays the input on the touch screen. In someembodiments, the current character string is the endmost sequence ofnon-whitespace characters input by the user via the input device anddelimited from the rest of the sequence of characters entered by theuser by delimiters, such as whitespaces, line breaks, and punctuation.

The current character string (or a portion thereof) and one or moresuggested replacements for the current character string is displayed ina second area (for example, a word selection area 216) of the touchscreen (304). The second area may be located between the first area andthe keyboard. The one or more suggested replacements, which may bewords, numbers, or combinations thereof, are selected from a dictionary136 for display by the device in accordance with predefined procedures.An example of a procedure for selecting suggested replacements fordisplay is described in U.S. Patent Application Ser. No. 11/620,641,which is hereby incorporated by reference as background information. Theuser may take one of a plurality of actions with respect to the currentcharacter string and the suggested replacement displayed in the secondarea. If the user action is activation of a key on the keyboardassociated with a delimiter

${\left( {306\frac{1}{N}{Activate}\mspace{14mu} a\mspace{14mu}{key}\mspace{14mu}\ldots}\mspace{11mu} \right),}\;$the current character string in the first area of the touch screen isreplaced with the suggested replacement (308). The delimiter associatedwith the activated key may be appended to the end of the suggestedreplacement in the first area. For example, if the activated key isassociated with a comma, a comma is appended to the suggestedreplacement (which replaces the current character string) in the firstarea. In some embodiments, delimiters include spaces, line breaks(sometimes called line returns), and terminal punctuation (for example,commas, periods, exclamation points, question marks, and semicolons). Inother embodiment, delimiters may include a subset of the delimiterslisted above, and may optionally include additional delimiters as well.

If the user action is performance of a first gesture on the suggestedreplacement in the second area of the touch screen

$\left( {306\mspace{11mu}\frac{1}{N}\mspace{14mu}{Perform}\mspace{14mu}{gesture}\mspace{14mu}{on}\mspace{14mu}{the}\mspace{11mu}{suggested}\mspace{14mu}{replacement}\mspace{14mu}\ldots}\; \right),$the current character string in the first area of the touch screen isreplaced with the suggested replacement (308). In some embodiments, awhitespace is appended to the end of the suggested replacement in thefirst area. In some embodiments, the first gesture includes one or moretaps on the suggested replacement in the second area.

If the user action is performance of a second gesture on the currentcharacter string in the second area

$\left( {306\mspace{11mu}\frac{1}{N}\mspace{14mu}{Perform}\mspace{14mu}{gesture}\mspace{14mu}{on}\mspace{14mu}{the}\mspace{11mu}{current}\mspace{14mu}{character}\mspace{14mu}{string}\mspace{14mu}\ldots}\; \right),$the current character string is maintained in the first area (310). Insome embodiments, a whitespace is appended to the end of the currentcharacter string in the first area. In some embodiments, the secondgesture includes one or more taps on the current character string in thesecond area.

In some embodiments, the device displays a plurality of suggestedreplacements in the word selection area. In these embodiments, the usermay select the desired replacement by performing a gesture on thedesired replacement. However, if the user activates a key associatedwith the delimiter, a replacement is selected from amongst the pluralityin accordance with one or more default rules. For example, a defaultrule may be that the highest ranked suggested replacement is selected.

In some embodiments, if the current character string in the first areawas replaced with the suggested replacement, the user may review thecurrent character string that was replaced. The user may perform a thirdgesture on the suggested replacement in the first area. After the thirdgesture is performed, the (original) current character string isdisplayed in the first area for a predetermined amount of time. In someembodiments, the third gesture includes one or more taps on thesuggested replacement in the first area. Further details regardingreviewing the replaced current character string is described below inrelation to FIGS. 5A-5B.

Attention is now directed to FIGS. 4A-4I, which illustrate a userinterface for providing word recommendations in accordance with someembodiments. In a portable electronic device 200, text 218 entered bythe user via a keyboard 210 or other input may be displayed in a firstarea, e.g. display tray 214. A cursor or insertion marker 220 may bedisplayed in the display tray 214 to indicate the insertion position ofthe next entered character.

The text 218 may include one or more strings separated by one or moredelimiters, such as spaces and punctuation. The end-most string in thetext 218 may be highlighted as the current character string 222 (FIG.4B). The current character string 222 may be a complete or incompleteword. The device 200 may display one or more suggested replacements 224(for example, “car” in FIG. 4D; “car,” “cat,” “cabinet,” and “candle” inFIG. 4F) in a second area, e.g. word selection area 216. A duplicate 226of the current character string 222 may also be displayed in the wordselection area 216. In some embodiments, the suggested replacement(s)and the current character string duplicate 226 are displayed on oppositesides of the word selection area 216. For example, the suggestedreplacement(s) may be displayed in the left side of the word selectionarea 216 and the current character string duplicate 226 may be displayedin the right side of the word selection area 216.

The user may perform a gesture (such as a tap on the touch screen) oneither the duplicate 226 of the current character string 222 or thesuggested replacement 224. If the user taps on the duplicate 226 of thecurrent character string 222 in the word selection area 216 with afinger 212, as indicated by the finger contact area 228 in FIG. 4B, thecurrent character string 222 is left as is in the display tray 214. Ifthe user taps on the suggested replacement 224 in the word selectionarea 216 with a finger 212, as indicated by the finger contact area 228in FIG. 4D, the current character string 222 is replaced in the displaytray 214 by the suggested replacement 224 (FIG. 4E).

As an example, the current character string 222 “cae” is highlighted, asshown in FIG. 4B. If the user taps the duplicate 226 of the currentcharacter string 222 in the word selection area 216, the currentcharacter string “cae” is completed and becomes part of the text 218 forwhich the device 200 is not providing suggested replacements, as shownin FIG. 4C. In some embodiments, a space is added to the end of thecompleted current character string, as shown in FIG. 4C. In someembodiments, the completed current character string (“cae” in FIG. 4C)is added to the dictionary 136. If the user taps instead the suggestedreplacement 224 “car” in the word selection area 216 (FIG. 4D), thecurrent character string “cae” is replaced in the display tray 214 withthe suggested replacement “car,” as shown in FIG. 4E. In someembodiments, a space is added to the end of the replaced currentcharacter string in the display tray 214, as shown in FIG. 4E.

Returning to FIG. 4D, if the user hits (as indicated by the fingercontact area 228 on the space bar 227) a key on the keyboard 210 that isassociated with a delimiter, such as a space bar 227, the currentcharacter string 222 in the display tray 214 is replaced by thesuggested replacement 224, and the delimiter associated with the keythat was hit by the user is appended to the end of the suggestedreplacement in the display tray 214.

In some embodiments, the device 200 may display a plurality of suggestedreplacements 224 for a current character sequence 222 in the wordselection area 216, as shown in FIG. 4F. A user may perform a gesture(e.g., a tap) on one of the plurality of suggested replacements toselect that suggested replacement. The current character sequence 222 isreplaced with the selected suggested replacement. As an example, in FIG.4F, suggested replacements for the current character string “cae”include “car,” “cat,” “cabinet,” and “candle.” If the user taps on thesuggested replacement “cabinet,” as indicated by the contact area 228 inthe word selection area 216, the current character string “cae” isreplaced in the display tray 214 with the selected replacement“cabinet,” as shown in FIG. 4G. If the user hits a key on the keyboard210 that is associated with a delimiter, the current character string222 in the display tray 214 may be replaced by the suggested replacement224 in the word selection area 216 that is highest ranked (e.g., “car”in FIG. 4F). In some embodiments, the suggested replacements 224 aredisplayed in ranking order (ascending or descending, depending on theparticular embodiment and/or user preferences) in the word selectionarea 216, so that the user may identify which suggested replacement isthe highest ranked.

In some embodiments, if the current character string 222 is longer thana predefined length (based on the number of characters), the duplicate226 of the current character string 222 in the word selection area 216may show a subset of the characters in the current character string 222.For example, the duplicate 226 may show the first six characters of thecurrent character string 222, as shown in FIG. 4H. As another example,the duplicate 226 may show the first three and the last three charactersof the current character string 222.

As shown in FIG. 4I, in some embodiments, the highest ranked suggestedreplacement 240 is displayed within the space bar 227. If the userperforms a predefined gesture on or near the touch screen display (e.g.,taps or touches the space bar 227), the current character string 222 isreplaced by the replacement string 240 shown in the space bar 227, andthe display of the space bar 227 is then returned to its normal ordefault status (e.g., blank, or with the word “space” displaced in thespace bar (see FIG. 4H)). It is noted that the space bar 227 correspondsto a delimiter (i.e., a space). In some of these embodiments, only thehighest ranked suggested replacement is presented to the user, and thusany other corrections must be made manually by the user. If the userperforms a second gesture with respect to the touch screen display, suchas tapping any key of the keyboard other than the space bar 227, thecurrent character string 222 in retained.

The embodiments of the invention, as described above, provides anintuitive way to integrate explicit word selection (via suggested wordreplacements in the second area), implicit word selection (e.g., via thespace bar or other delimiter keys), and explicit non-selection ofsuggested word replacements (via keeping the current word, e.g., forwords with unusual spellings).

In some embodiments, the device 200 may allow the user to review stringsreplaced by user-selected suggested replacements. Attention is nowdirected to FIG. 5A 1/N 5B, which illustrate a user interface forreviewing the originally entered strings that were replaced by suggestedreplacements. A user may perform a gesture over a word 229 in theentered text 218. For example, the user may tap the word 229 on thetouch screen with a finger 212, as indicated by the contact area 228 inthe display tray 214. If the word 229 (FIG. 5A) was a replacement forsome originally entered text, the originally entered text 230 may bedisplayed (FIG. 5B). Alternately, the originally entered text may bedisplayed if the user's finger hovers over the word 229 for at least athreshold period of time (e.g., 0.5 seconds, 1.0 second, or a valuebetween 0.35 and 1.25 seconds). In some embodiments, the originallyentered text 230 is displayed in place of the word 229 for apredetermined amount of time, such as 2 seconds. After the time haselapsed, the word 229 is displayed back in its place unless an undogesture (e.g., a tap on the original text) is performed, in which casethe originally entered text 230 is durably restored. In some otherembodiments, the originally entered text 230 is displayed in a balloongraphic or the like extending from the word 229.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best utilize the invention andvarious embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. An electronic device, comprising: a display; oneor more processors; memory storing one or more programs configured to beexecuted by the one or more processors, the one or more programsincluding instructions for: displaying a current character string at alocation in a first area of the display concurrently with a plurality ofsuggested replacement character strings at a location in a second areaof the display distinct from the first area, wherein the plurality ofsuggested replacement character strings includes a duplicate of thecurrent character string; detecting a first input; in accordance with adetermination that the first input selects one of the plurality ofsuggested replacement character strings, replacing display of thecurrent character string at the location in the first area of thedisplay with the selected one of the plurality of suggested replacementcharacter strings and ceasing to display the plurality of suggestedreplacement character strings in the second area on the display;subsequent to replacing display of the current character string at thelocation in the first area of the display with the selected one of theplurality of suggested replacement character strings: while displayingthe selected one of the plurality of suggested replacement characterstrings and in response to detecting a second input, displaying one ormore suggested replacement character strings, wherein the one or moresuggested replacement character strings is different from the pluralityof suggested replacement character strings and is based on the selectedone of the plurality of suggested replacement character strings, andwherein the one or more suggested replacement character strings includesthe duplicate of the current character string.
 2. The electronic deviceof claim 1, wherein the second input corresponds to an undo input. 3.The electronic device of claim 1, wherein the one or more programsfurther include instructions for: displaying a graphic extending fromthe selected one of the plurality of suggested replacement characterstrings at location in first area of the display.
 4. The electronicdevice of claim 1, wherein the one or more programs further includeinstructions for: in accordance with the determination that the inputconfirms the current character string, adding a space after the currentcharacter string at the location in the first area on the display. 5.The electronic device of claim 1, wherein the first input comprises afinger tap on the second area of the display.
 6. The electronic deviceof claim 1, wherein the first input comprises activation of a key on akeyboard.
 7. The electronic device of claim 1, wherein the one or moreprograms further include instructions for: highlighting the selected oneof the plurality of suggested replacement character strings among theplurality of suggested replacement character strings.
 8. The electronicdevice of claim 1, wherein the one or more programs further includeinstructions for: detecting an activation of a key on a keyboard that isassociated with a delimiter; and in response to detecting the activationof the key on the keyboard that is with the delimiter, replacing thecurrent character string at the location in the first area of thedisplay with a suggested replacement character string that is highestranked among the plurality of suggested replacement character stringsdisplayed in the second area of the display.
 9. The electronic device ofclaim 1, wherein the plurality of suggested replacement characterstrings are displayed in ranking order based at least on userpreferences.
 10. The electronic device of claim 1, wherein theinstructions for replacing display of the current character string atthe location in the first area of the display with the selected one ofthe plurality of suggested replacement character strings furtherincludes: ceasing to display the current character string at thelocation in the first area of the display; and displaying, at thelocation in the first area of the display, the selected one of theplurality of suggested replacement character strings.
 11. The electronicdevice of claim 1, wherein the selected one of the plurality ofsuggested replacement character strings is a complete or incompleteword.
 12. A non-transitory computer-readable storage medium storing oneor more programs configured to be executed by one or more processors ofan electronic device with a display and a touch-sensitive surface, theone or more programs including instructions for: displaying a currentcharacter string at a location in a first area of the displayconcurrently with a plurality of suggested replacement character stringsat a location in a second area of the display distinct from the firstarea, wherein the plurality of suggested replacement character stringsincludes a duplicate of the current character string; detecting a firstinput; in accordance with a determination that the first input selectsone of the plurality of suggested replacement character strings,replacing display of the current character string at the location in thefirst area of the display with the selected one of the plurality ofsuggested replacement character strings and ceasing to display theplurality of suggested replacement character strings in the second areaon the display; subsequent to replacing display of the current characterstring at the location in the first area of the display with theselected one of the plurality of suggested replacement characterstrings: while displaying the selected one of the plurality of suggestedreplacement character strings and in response to detecting a secondinput, displaying one or more suggested replacement character strings,wherein the one or more suggested replacement character strings isdifferent from the plurality of suggested replacement character stringsand is based on the selected one of the plurality of suggestedreplacement character strings, and wherein the one or more suggestedreplacement character strings includes the duplicate of the currentcharacter string.
 13. The non-transitory computer-readable storagemedium of claim 12, wherein the second input corresponds to an undoinput.
 14. The non-transitory computer-readable storage medium of claim12, wherein the one or more programs further include instructions for:displaying a graphic extending from the selected one of the plurality ofsuggested replacement character strings at location in first area of thedisplay.
 15. The non-transitory computer-readable storage medium ofclaim 12, wherein the one or more programs further include instructionsfor: in accordance with the determination that the input confirms thecurrent character string, adding a space after the current characterstring at the location in the first area on the display.
 16. Thenon-transitory computer-readable storage medium of claim 12, wherein thefirst input comprises a finger tap on the second area of the display.17. The non-transitory computer-readable storage medium of claim 12,wherein the first input comprises activation of a key on a keyboard. 18.The non-transitory computer-readable storage medium of claim 12, whereinthe one or more programs further include instructions for: highlightingthe selected one of the plurality of suggested replacement characterstrings among the plurality of suggested replacement character strings.19. The non-transitory computer-readable storage medium of claim 12,wherein the one or more programs further include instructions for:detecting an activation of a key on a keyboard that is associated with adelimiter; and in response to detecting the activation of the key on thekeyboard that is with the delimiter, replacing the current characterstring at the location in the first area of the display with a suggestedreplacement character string that is highest ranked among the pluralityof suggested replacement character strings displayed in the second areaof the display.
 20. The non-transitory computer-readable storage mediumof claim 12, wherein the plurality of suggested replacement characterstrings are displayed in ranking order based at least on userpreferences.
 21. The non-transitory computer-readable storage medium ofclaim 12, wherein the instructions for replacing display of the currentcharacter string at the location in the first area of the display withthe selected one of the plurality of suggested replacement characterstrings further includes: ceasing to display the current characterstring at the location in the first area of the display; and displaying,at the location in the first area of the display, the selected one ofthe plurality of suggested replacement character strings.
 22. Thenon-transitory computer-readable storage medium of claim 12, wherein theselected one of the plurality of suggested replacement character stringsis a complete or incomplete word.
 23. A method, comprising: displaying acurrent character string at a location in a first area of the displayconcurrently with a plurality of suggested replacement character stringsat a location in a second area of the display distinct from the firstarea, wherein the plurality of suggested replacement character stringsincludes a duplicate of the current character string; detecting a firstinput; in accordance with a determination that the first input selectsone of the plurality of suggested replacement character strings,replacing display of the current character string at the location in thefirst area of the display with the selected one of the plurality ofsuggested replacement character strings and ceasing to display theplurality of suggested replacement character strings in the second areaon the display; subsequent to replacing display of the current characterstring at the location in the first area of the display with theselected one of the plurality of suggested replacement characterstrings: while displaying the selected one of the plurality of suggestedreplacement character strings and in response to detecting a secondinput, displaying one or more suggested replacement character strings,wherein the one or more suggested replacement character strings isdifferent from the plurality of suggested replacement character stringsand is based on the selected one of the plurality of suggestedreplacement character strings, and wherein the one or more suggestedreplacement character strings includes the duplicate of the currentcharacter string.
 24. The method of claim 23, wherein the second inputcorresponds to an undo input.
 25. The method of claim 23, furthercomprising: displaying a graphic extending from the selected one of theplurality of suggested replacement character strings at location infirst area of the display.
 26. The method of claim 23, furthercomprising: in accordance with the determination that the input confirmsthe current character string, adding a space after the current characterstring at the location in the first area on the display.
 27. The methodof claim 23, wherein the first input comprises a finger tap on thesecond area of the display.
 28. The method of claim 23, wherein thefirst input comprises activation of a key on a keyboard.
 29. The methodof claim 23, further comprising: highlighting the selected one of theplurality of suggested replacement character strings among the pluralityof suggested replacement character strings.
 30. The method of claim 23,further comprising: detecting an activation of a key on a keyboard thatis associated with a delimiter; and in response to detecting theactivation of the key on the keyboard that is with the delimiter,replacing the current character string at the location in the first areaof the display with a suggested replacement character string that ishighest ranked among the plurality of suggested replacement characterstrings displayed in the second area of the display.
 31. The method ofclaim 23, wherein the plurality of suggested replacement characterstrings are displayed in ranking order based at least on userpreferences.
 32. The method of claim 23, wherein replacing display ofthe current character string at the location in the first area of thedisplay with the selected one of the plurality of suggested replacementcharacter strings further includes: ceasing to display the currentcharacter string at the location in the first area of the display; anddisplaying, at the location in the first area of the display, theselected one of the plurality of suggested replacement characterstrings.
 33. The method of claim 23, wherein the selected one of theplurality of suggested replacement character strings is a complete orincomplete word.